package com.clear.creational;

/**
 * 枚举实现单例
 */
public class EnumSingleton2 {
    // 私有构造器，避免外部创建实例
    private EnumSingleton2(){}

    public static enum SingletonEnum {
        EnumSingleton;
        private EnumSingleton2 instance = null;
        // todo  JVM 保证了这个方法绝对只调用一次
        private SingletonEnum(){    // 枚举的私有构造器
            instance = new EnumSingleton2();
        }

        public EnumSingleton2 getInstance(){
            return instance;
        }
    }
}
